package com.wisewin.circle.dao;

import com.wisewin.circle.entity.db.CircleDO;
import com.wisewin.circle.entity.db.TypeDO;
import com.wisewin.circle.entity.dto.ActivitySignUserDTO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;

@Component
public interface CircleDAO {

    public void insert(@Param("obj")CircleDO circleDO);

    public CircleDO queryCircleById(Integer circleId);

    public void updateTrendNum(Integer circleId);

    public void updateFollowNum(Integer circleId);

    public void cancleFollowNum(Integer circleId);

    public CircleDO queryCircleDetail(Integer circleId);

    public List<CircleDO> queryCircleHotList();

    public int queryCircleCount(Map<String, Object> map);

    public List<CircleDO> queryCircleList(Map<String, Object> map);

    public List<TypeDO> queryTypeCircleList();

    public List<CircleDO> queryCircleDataList(Integer userId);

    public int queryCircleInfoCount(Map<String, Object> map);

    public List<CircleDO> queryCircleInfoList(Map<String, Object> map);

    public List<String> queryCircleFollowUser(Integer circleId);

    public int queryCircleFollowUserCount(Map<String, Object> map);

    public List<ActivitySignUserDTO> queryCircleFollowUserList(Map<String, Object> map);
    
    public void updateTrendNumJs(Integer circleId);
}
